package com.mokairui.optional;

import lombok.extern.slf4j.Slf4j;

/**
 * @Description
 *      1. 创建
 *          Optional.of(T t) 创建一个 Optional 实例, t 不能为空
 *          Optional.empty() 创建一个空的 Optional 实例
 *          Optional.ofNullable(T t) t 可以为空
 *
 *      2. 判断
 *          boolean isPresent() 判断是否包含对象
 *          void ifPresent(Consumer<? super T> consumer) 如果有值, 就执行消费者接口中的代码
 *
 *      3. 获取
 *          T get() 有值则会返回值, 无值抛出异常
 *          T ofElse(T other) 无值返回由 Supplier 提供的对象
 *          T orElseGet(Supplier<? extends T> other) 同上, 区别是此方法是延迟加载
 *          T orElseThrow(Supplier<? extends X> exceptionSupplier) 无值抛出自定义异常
 *
 * @Author Mokairui
 * @Since 2021/11/6
 */
@Slf4j(topic = "c.Optional")
public class OptionalDemo {

}
